home *** CD-ROM | disk | FTP | other *** search
/ Mac OS 9 Serial Number Archive / SN Archive 2023.11.04.toast / BSNG / SDK / BSNG SDK 2.6 / Contributed / Basic / Resources / Template / PowerPlant.r next >
Encoding:
Text File  |  1998-01-26  |  47.5 KB  |  1,462 lines  |  [TEXT/CWIE]

  1. // ===========================================================================
  2. //    PowerPlant.r               ©1994-1998 Metrowerks Inc. All rights reserved.
  3. // ===========================================================================
  4. //    Revised: 1/26/98
  5. //
  6. //    Rez definitions for custom resource types used by PowerPlant
  7. //
  8. //    Resources Types:
  9. //        'PPob'        PowerPlant objects (mostly Panes)
  10. //        'Mcmd'        Command numbers for menu items
  11. //        'RidL'        Resource ID list (long integer IDs)
  12. //        'RID#'        Resource ID list (short integer IDs)
  13. //        'Txtr'        Text traits
  14.  
  15. #ifndef __POWERPLANT_R__
  16. #define __POWERPLANT_R__
  17.  
  18. // ===========================================================================
  19.                 
  20. #define    PP_WindowData                                                        \
  21.         integer;                            /* WIND Resource ID            */    \
  22.         integer    modal, floating, regular;    /* Window Layer                */    \
  23.         bitstring[3] = 0;                    /* Placeholder for layer    */    \
  24.         boolean    noCloseBox, hasCloseBox;    /* Close Box?                */    \
  25.         boolean    noTitleBar, hasTitleBar;    /* Title Bar?                */    \
  26.         boolean    noResize, hasResize;        /* Resizable?                */    \
  27.         boolean noSizeBox, hasSizeBox;        /* Draw Size Box?            */    \
  28.         boolean    noZoom, hasZoom;            /* Zoomable?                */    \
  29.         boolean    noShowNew, hasShowNew;        /* Visible after creating?    */    \
  30.         boolean    disabled, enabled;            /* Enabled?                    */    \
  31.         boolean    noTarget, hasTarget;        /* Targetable?                */    \
  32.         boolean    noGetSelectClick,            /* Get Select Click?        */    \
  33.                 hasGetSelectClick;                                            \
  34.         boolean    noHideOnSuspend,            /* Hide when Suspended?        */    \
  35.                 hasHideOnSuspend;                                            \
  36.         boolean    noDelaySelect,                /* Delayed Selection?        */    \
  37.                 hasDelaySelect;                                                \
  38.         boolean    noEraseOnUpdate,            /* Erase when Updating?        */    \
  39.                 hasEraseOnUpdate;                                            \
  40.         bitstring[17] = 0;                    /* Reserved bits            */    \
  41.         integer;                            /* Minimum width            */    \
  42.         integer;                            /* Minimum height            */    \
  43.         integer    screenSize = -1;            /* Maximum width            */    \
  44.         integer    screenSize = -1;            /* Maximum height            */    \
  45.         integer    screenSize = -1;            /* Standard width            */    \
  46.         integer    screenSize = -1;            /* Standard height            */    \
  47.         longint                                /* UserCon                    */
  48.         
  49. #define    PP_DialogBoxData                                                    \
  50.         PP_WindowData;                                                        \
  51.         longint;                            /* Default Button ID        */    \
  52.         longint                                /* Cancel Button ID            */
  53.         
  54. #define    PP_PrintoutData                                                        \
  55.         point;                                /* Width, Height            */    \
  56.         byte    inactive, active;            /* Active                    */    \
  57.         byte    disabled, enabled;            /* Enabled                    */    \
  58.         longint;                            /* UserCon                    */    \
  59.         boolean    numberAcross, numberDown;    /* Page Numbering Order        */    \
  60.         bitstring[31] = 0                    /* Reserved bits            */
  61.  
  62. #define    PP_PaneData                                                            \
  63.         longint;                            /* Pane ID                    */    \
  64.         point;                                /* Width, Height            */    \
  65.         byte    invisible, visible;            /* Visible                    */    \
  66.         byte    disabled, enabled;            /* Enabled                    */    \
  67.         byte    unbound, bound;                /* Left Binding                */    \
  68.         byte    unbound, bound;                /* Top Binding                */    \
  69.         byte    unbound, bound;                /* Right Binding            */    \
  70.         byte    unbound, bound;                /* Bottom Binding            */    \
  71.         longint;                            /* Left Location            */    \
  72.         longint;                            /* Top Location                */    \
  73.         longint;                            /* UserCon                    */    \
  74.         longint    noSuperView = 0,            /* SuperView                */    \
  75.                 defaultSuperView = -1
  76.         
  77. #define    PP_CaptionData                                                        \
  78.         PP_PaneData;                                                        \
  79.         pstring;                            /* Caption Text                */    \
  80.         integer    useSystemFont = 0            /* Text Traits ID            */
  81.         
  82. #define    PP_EditFieldData                                                    \
  83.         PP_PaneData;                                                        \
  84.         pstring;                            /* Initial Text                */    \
  85.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  86.         integer;                            /* Maximum Characters        */    \
  87.         boolean    noBox, hasBox;                /* Box around field?        */    \
  88.         boolean noWordWrap, hasWordWrap;    /* Wrap text to frame?        */    \
  89.         boolean noAutoScroll, hasAutoScroll;/* AutoScroll text            */    \
  90.         boolean noTextBuffering,            /* Text Buffering            */    \
  91.                 hasTextBuffering;            /*   of keyboard input        */    \
  92.         boolean noOutlineHilite,            /* Outline hiliting when    */    \
  93.                 hasOutlineHilite;            /*   inactive                */    \
  94.         boolean noInlineInput,                /* Allow inline input        */    \
  95.                 hasInlineInput;                                                \
  96.         boolean noTextServices,                /* Use Text Services for    */    \
  97.                 hasTextServices;            /*   inputting text            */    \
  98.         bitstring[1] = 0;                    /* Reserved bits            */    \
  99.         byte    noFilter,                    /* Keystroke Filter            */    \
  100.                 integerFilter,                                                \
  101.                 alphaNumericFilter,                                            \
  102.                 printingCharFilter,                                            \
  103.                 negativeIntegerFilter,                                        \
  104.                 printingCharAndCRFilter
  105.                 
  106. #define    PP_ListBoxData                                                        \
  107.         PP_PaneData;                                                        \
  108.         byte    noHorizScroll, hasHorizScroll;                                \
  109.         byte    noVertScroll, hasVertScroll;                                \
  110.         byte    noGrowBox, hasGrowBox;                                        \
  111.         byte    noFocusBox, hasFocusBox;                                    \
  112.         longint;                            /* Double-Click Message        */    \
  113.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  114.         integer    textList = 0;                /* LDEF ID                    */    \
  115.         integer = $$CountOf(ListBoxItems);    /* Number of Items in List    */    \
  116.         array ListBoxItems {                                                \
  117.             pstring;                        /* Text of List Item        */    \
  118.         }
  119.         
  120. #define    PP_ControlData                                                        \
  121.         PP_PaneData;                                                        \
  122.         longint;                            /* Value Changed Message    */    \
  123.         longint;                            /* Initial Value            */    \
  124.         longint;                            /* Minimum Value            */    \
  125.         longint                                /* Maximum Value            */
  126.         
  127. #define    PP_ButtonData                                                        \
  128.         PP_PaneData;                                                        \
  129.         longint;                            /* Pushed Message            */    \
  130.         longint = 0;                        /* Initial Value            */    \
  131.         longint = 0;                        /* Minimum Value            */    \
  132.         longint = 0;                        /* Maximum Value            */    \
  133.         literal longint;                    /* Graphics Resource Type    */    \
  134.         integer;                            /* ID of Normal Graphic        */    \
  135.         integer                                /* ID of Pushed Graphic        */
  136.         
  137. #define    PP_ToggleButtonData                                                    \
  138.         PP_PaneData;                                                        \
  139.         longint;                            /* Pushed Message            */    \
  140.         longint = 0;                        /* Initial Value            */    \
  141.         longint = 0;                        /* Minimum Value            */    \
  142.         longint = 1;                        /* Maximum Value            */    \
  143.         literal longint;                    /* Graphics Resource Type    */    \
  144.         integer;                            /* ID of On Graphic            */    \
  145.         integer;                            /* ID of On Click Graphic    */    \
  146.         integer;                            /* ID of Off Graphic        */    \
  147.         integer;                            /* ID of Off Click Graphic    */    \
  148.         integer                                /* ID of Transition graphic    */
  149.         
  150. #define PP_CicnButtonData                                                    \
  151.         PP_PaneData;                                                        \
  152.         longint;                            /* Pushed Message            */    \
  153.         longint = 0;                        /* Initial Value            */    \
  154.         longint = 0;                        /* Minimum Value            */    \
  155.         longint = 0;                        /* Maximum Value            */    \
  156.         integer;                            /* ID of Normal 'cicn'        */    \
  157.         integer                                /* ID of Pushed 'cicn'        */
  158.         
  159. #define    PP_TextButtonData                                                    \
  160.         PP_PaneData;                                                        \
  161.         longint;                            /* Pushed Message            */    \
  162.         longint    unchecked, checked;            /* Initial Value            */    \
  163.         longint = 0;                        /* Minimum Value            */    \
  164.         longint = 1;                        /* Maximum Value            */    \
  165.         pstring;                            /* Title                    */    \
  166.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  167.         integer                                /* Selected Text Style        */
  168.         
  169. #define    PP_StdControlData                                                    \
  170.         PP_ControlData;                                                        \
  171.         integer;                            /* Control Kind                */    \
  172.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  173.         pstring;                            /* Title                    */    \
  174.         longint                                /* RefCon                    */        
  175.         
  176. #define PP_StdButtonData                                                    \
  177.         PP_PaneData;                                                        \
  178.         longint;                            /* Pushed Message            */    \
  179.         longint = 0;                        /* Initial Value            */    \
  180.         longint = 0;                        /* Minimum Value            */    \
  181.         longint = 0;                        /* Maximum Value            */    \
  182.         integer    = 0;                        /* pushButProc                */    \
  183.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  184.         pstring;                            /* Title                    */    \
  185.         longint                                /* RefCon                    */    \
  186.         
  187. #define PP_StdCheckBoxData                                                    \
  188.         PP_PaneData;                                                        \
  189.         longint;                            /* Value Changed Message    */    \
  190.         longint    unchecked, checked;            /* Initial Value            */    \
  191.         longint = 0;                        /* Minimum Value            */    \
  192.         longint = 1;                        /* Maximum Value            */    \
  193.         integer    = 1;                        /* checkBoxProc                */    \
  194.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  195.         pstring;                            /* Title                    */    \
  196.         longint                                /* RefCon                    */
  197.         
  198. #define PP_StdRadioButtonData                                                \
  199.         PP_PaneData;                                                        \
  200.         longint;                            /* Value Changed Message    */    \
  201.         longint    unchecked, checked;            /* Initial Value            */    \
  202.         longint = 0;                        /* Minimum Value            */    \
  203.         longint = 1;                        /* Maximum Value            */    \
  204.         integer    = 2;                        /* radioButProc                */    \
  205.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  206.         pstring;                            /* Title                    */    \
  207.         longint                                /* RefCon                    */
  208.         
  209. #define    PP_StdPopupMenuData                                                    \
  210.         PP_PaneData;                                                        \
  211.         longint;                            /* Value Changed Message    */    \
  212.         longint;                            /* Title Position & Style    */    \
  213.         integer = 0;                        /* Filler                    */    \
  214.         integer;                            /* MENU Resource ID            */    \
  215.         integer = 0;                        /* Filler                    */    \
  216.         integer;                            /* Pixel Width of Title        */    \
  217.         integer    defaultPopup = 1008,        /* Default Variation        */    \
  218.                 fixedWidth = 1009,            /* Fixed Width Popup Box    */    \
  219.                 addResource = 1012,            /* Add Items of Res Type    */    \
  220.                 fixedAndResource = 1013;    /* Fixed Width & Resources    */    \
  221.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  222.         pstring;                            /* Title                    */    \
  223.         literal longint;                    /* ResType for Menu Items    */    \
  224.         integer                                /* Initial Item Choice        */
  225.         
  226. #define PP_IconPaneData                                                        \
  227.         PP_PaneData;                                                        \
  228.         integer                                /* Icon resource ID            */
  229.                     
  230. #define PP_ViewData                                                            \
  231.         PP_PaneData;                                                        \
  232.         longint;                            /* Image Width                */    \
  233.         longint;                            /* Image Height                */    \
  234.         longint;                            /* Horiz Scroll Position    */    \
  235.         longint;                            /* Vert Scroll Position        */    \
  236.         longint;                            /* Horiz Scroll Unit        */    \
  237.         longint;                            /* Vert Scroll Unit            */    \
  238.         integer    noReconcileOverhang,        /* Reconcile after resize    */    \
  239.                 hasReconcileOverhang
  240.                 
  241. #define    PP_ScrollerData                                                        \
  242.         PP_ViewData;                                                        \
  243.         integer    noHorizScroll = -1;            /* Horiz SBar Left Indent    */    \
  244.         integer;                            /* Horiz SBar Right Indent    */    \
  245.         integer    noVertScroll = -1;            /* Vert SBar Top Indent        */    \
  246.         integer;                            /* Vert SBar Bottom Indent    */    \
  247.         longint                                /* Scrolling View ID        */
  248.         
  249. #define    PP_ScrollerViewData                                                    \
  250.         PP_PaneData;                                                        \
  251.         integer;                            /* Filler                    */    \
  252.         integer    normalThickness = 16,        /* Thickness of scroll bars    */    \
  253.                 floaterThickness = 11;        /*   In floating window        */    \
  254.         longint;                            /* Image Height                */    \
  255.         longint;                            /* Horiz Scroll Position    */    \
  256.         longint;                            /* Vert Scroll Position        */    \
  257.         longint;                            /* Horiz Scroll Unit        */    \
  258.         longint;                            /* Vert Scroll Unit            */    \
  259.         integer    noReconcileOverhang,        /* Reconcile after resize    */    \
  260.                 hasReconcileOverhang;                                        \
  261.         integer    noHorizScroll = -1;            /* Horiz SBar Left Indent    */    \
  262.         integer;                            /* Horiz SBar Right Indent    */    \
  263.         integer    noVertScroll = -1;            /* Vert SBar Top Indent        */    \
  264.         integer;                            /* Vert SBar Bottom Indent    */    \
  265.         longint;                            /* Scrolling View ID        */    \
  266.         byte    noLiveScrolling,            /* Live Scrolling?            */    \
  267.                 hasLiveScrolling
  268.         
  269. #define PP_PictureData                                                        \
  270.         PP_ViewData;                                                        \
  271.         integer                                /* 'PICT' Resource ID        */
  272.  
  273. #define    PP_PlaceHolderData                                                    \
  274.         PP_ViewData;                                                        \
  275.         integer                                /* Alignment of Occupant    */
  276.         
  277. #define    PP_TextEditData                                                        \
  278.         PP_ViewData;                                                        \
  279.         Boolean    noMultiStyle,                /* Single or Multi Style    */    \
  280.                 hasMultiStyle;                                                \
  281.         Boolean    noEdit, hasEdit;            /* Read only or Write        */    \
  282.         Boolean    noSelect, hasSelect;        /* Allow Selection            */    \
  283.         Boolean    noWordWrap, hasWordWrap;    /* Wrap text to frame?        */    \
  284.         bitstring[12] = 0;                    /* Reserved bits            */    \
  285.         integer    useSystemFont = 0;            /* TextTraits ID            */    \
  286.         integer                                /* TEXT Resource ID            */
  287.         
  288. #define    PP_TextEditViewData                                                    \
  289.         PP_ViewData;                                                        \
  290.         Boolean    noMultiStyle,                /* Single or Multi Style    */    \
  291.                 hasMultiStyle;                                                \
  292.         Boolean    noEdit, hasEdit;            /* Read only or Write        */    \
  293.         Boolean    noSelect, hasSelect;        /* Allow Selection            */    \
  294.         Boolean    noWordWrap, hasWordWrap;    /* Wrap text to frame?        */    \
  295.         Boolean noAutoScroll, hasAutoScroll;/* Autoscroll text?            */    \
  296.         bitstring[11] = 0;                    /* Reserved bits            */    \
  297.         integer    useSystemFont = 0;            /* TextTraits ID            */    \
  298.         integer                                /* TEXT Resource ID            */
  299.         
  300. #define    PP_TableData                                                        \
  301.         PP_ViewData;                                                        \
  302.         longint;                            /* Number of Rows            */    \
  303.         longint;                            /* Number of Columns        */    \
  304.         longint;                            /* Row Height                */    \
  305.         longint;                            /* Column Width                */    \
  306.         longint                                /* Cell Data Size            */
  307.         
  308. #define PP_MultiPanelViewData                                                \
  309.         PP_ViewData;                                                        \
  310.         integer = $$CountOf(PPobIDs);        /* No. of Panels            */    \
  311.         wide array PPobIDs {                /* List of:                    */    \
  312.             integer;                        /*   PPob ID                */    \
  313.         };                                                                    \
  314.         integer;                            /* Initial Panel Choice        */    \
  315.         longint;                            /* Switch Message            */    \
  316.         byte    noListenToSuperView,        /* Listen to SuperView?        */    \
  317.                 hasListenToSuperView
  318.  
  319. #define    PP_RadioGroupData                                                    \
  320.         integer = $$CountOf(RadioIDs);        /* No. of Radios in Group    */    \
  321.         wide array RadioIDs {                                                \
  322.             longint;                        /* RadioButton Pane ID        */    \
  323.         }
  324.         
  325. #define    PP_AttachmentData                                                    \
  326.         longint    any = -2,                    /* Any Message                */    \
  327.                 event = 810,                /* Commander, all events    */    \
  328.                 drawOrPrint = 811,            /* Pane, draw or print        */    \
  329.                 click = 812,                /* Pane, click                */    \
  330.                 adjustCursor = 813,            /* Pane, adjiust cursor        */    \
  331.                 keyPress = 814,                /* Commander, key press        */    \
  332.                 commandStatus = 815,        /* Commander, cmd status    */    \
  333.                 postAction = 816;            /* Commander, post action    */    \
  334.         byte    dontExecute, execute;        /* Execute Host                */    \
  335.         byte    noOwner, hasOwner            /* Host is owner            */
  336.         
  337. #define    PP_ColorEraseAttachmentData                                            \
  338.         PP_AttachmentData;                                                    \
  339.         wide array[1] {                        /* Foreground Color            */    \
  340.             unsigned integer;                /*        red                    */    \
  341.             unsigned integer;                /*        green                */    \
  342.             unsigned integer;                /*        blue                */    \
  343.         };                                                                    \
  344.         wide array[1] {                        /* Background Color            */    \
  345.             unsigned integer;                /*        red                    */    \
  346.             unsigned integer;                /*        green                */    \
  347.             unsigned integer;                /*        blue                */    \
  348.         }
  349.  
  350. #define PP_BorderAttachmentData                                                \
  351.         PP_AttachmentData;                                                    \
  352.         Point;                                /* Pen Size                    */    \
  353.         integer                                /* Pen Mode                    */    \
  354.                 patCopy = 8, patOr, patXor, patBic,                            \
  355.                 notPatCopy, notPatOr, notPatXor, notPatBic,                    \
  356.                 blend = 32, addPin, addOver, subPin, transparent,            \
  357.                 adMax, subOver, adMin, ditherCopy = 64;                        \
  358.         integer    dkGray, ltGray,                /* Pen Pattern                */    \
  359.                 gray, black, white;                                            \
  360.         wide array[1] {                        /* Foreground Color            */    \
  361.             unsigned integer;                /*        red                    */    \
  362.             unsigned integer;                /*        green                */    \
  363.             unsigned integer;                /*        blue                */    \
  364.         };                                                                    \
  365.         wide array[1] {                        /* Background Color            */    \
  366.             unsigned integer;                /*        red                    */    \
  367.             unsigned integer;                /*        green                */    \
  368.             unsigned integer;                /*        blue                */    \
  369.         }
  370.  
  371. #define PP_PaintAttachmentData        PP_BorderAttachmentData
  372.  
  373. #define    PP_CmdEnablerAttachmentData                                            \
  374.         PP_AttachmentData;                                                    \
  375.         longint                                /* Command to Enable        */
  376.  
  377. #define    PP_UnusedControlData                                                \
  378.         PP_PaneData;                                                        \
  379.         longint = 0;                        /* Message                    */    \
  380.         longint = 0;                        /* Value                    */    \
  381.         longint = 0;                        /* Minimum                    */    \
  382.         longint = 0                            /* Maximum                    */
  383.         
  384. #define PP_BevelButtonData                                                    \
  385.         PP_PaneData;                                                        \
  386.         longint;                            /* Value Message            */    \
  387.         integer = 0;                        /* Filler                    */    \
  388.         integer;                            /* Menu ID                    */    \
  389.         integer = 0;                        /* Filler                    */    \
  390.         boolean    noOffsetContents,            /* Offset when clicked?        */    \
  391.                 hasOffsetContents;                                            \
  392.         boolean    noMultiValueMenu,            /* Mutliple selection in    */    \
  393.                 hasMultiValueMenu;            /*   menu?                    */    \
  394.         bitstring[6]    pushButton,            /* Behavior                    */    \
  395.                         toggles,                                            \
  396.                         sticky;                                                \
  397.         byte    textOnly = 0,                /* Content Type                */    \
  398.                 iconSuiteResource = 1,                                        \
  399.                 cicnResource = 2,                                            \
  400.                 pictResource = 3,                                            \
  401.                 iconSuiteHandle = 129,                                        \
  402.                 cicnHandle = 130,                                            \
  403.                 pictHandle = 131,                                            \
  404.                 iconReference = 132;                                        \
  405.         integer = 0;                        /* Filler                    */    \
  406.         integer;                            /* Res ID for content        */    \
  407.         bitstring[12] = 2;                    /* Proc ID                    */    \
  408.         boolean = 0;                        /* Window Font? (unused)    */    \
  409.         boolean    arrowDown, arrowRight;        /* Popup Arrow Direction    */    \
  410.         bitstring[2]    smallBevel,            /* Bevel Size                */    \
  411.                         normalBevel,                                        \
  412.                         largeBevel;                                            \
  413.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  414.         pstring;                            /* Title                    */    \
  415.         integer;                            /* Initial Value            */    \
  416.         integer        systemDirection = -1,    /* Title Placement            */    \
  417.                     normally = 0,                                            \
  418.                     rightOfGraphic,                                            \
  419.                     leftOfGraphic,                                            \
  420.                     belowGraphic,                                            \
  421.                     aboveGraphic;                                            \
  422.         integer        flushDefault = 0,        /* Title Alignment            */    \
  423.                     center = 1,                                                \
  424.                     flushRight = -1,                                        \
  425.                     flushLeft = -2;                                            \
  426.         integer;                            /* Title Offset in pixels    */    \
  427.         integer        systemDirection = -1,    /* Graphic Alignment        */    \
  428.                     center = 0,                                                \
  429.                     left, right,                                            \
  430.                     top, bottom,                                            \
  431.                     topLeft, bottomLeft,                                    \
  432.                     topRight, bottomRight;                                    \
  433.         point;                                /* Graphic Offset (v,h)        */    \
  434.         byte        noCenterPopupArrow,        /* Center Popup Arrow?        */    \
  435.                     hasCenterPopupArrow
  436.  
  437. #define    PP_ChasingArrowsData                                                \
  438.         PP_UnusedControlData;                                                \
  439.         integer = 112;                        /* Control Kind                */    \
  440.         integer = 0;                        /* Text Traits ID (unused)    */    \
  441.         byte = 0                            /* Title (empty string)        */
  442.  
  443. #define    PP_CheckBoxData                                                        \
  444.         PP_PaneData;                                                        \
  445.         longint;                            /* Value Message            */    \
  446.         longint    unchecked, checked, mixed;    /* Initial Value            */    \
  447.         longint = 0;                        /* Minimum                    */    \
  448.         longint = 2;                        /* Maximum                    */    \
  449.         integer = 369;                        /* Control Kind                */    \
  450.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  451.         pstring                                /* Title                    */
  452.  
  453. #define    PP_CheckBoxGroupBoxData                                                \
  454.         PP_ViewData;                                                        \
  455.         longint;                            /* Value Message            */    \
  456.         longint    unchecked, checked;            /* Initial Value            */    \
  457.         longint = 0;                        /* Minimum                    */    \
  458.         longint = 1;                        /* Maximum                    */    \
  459.         integer    primaryGroup = 161,            /* Group Box Kind            */    \
  460.                 secondaryGroup = 165;                                        \
  461.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  462.         pstring                                /* Title                    */
  463.  
  464. #define PP_ClockData                                                        \
  465.         PP_PaneData;                                                        \
  466.         longint = 0;                        /* Value Message            */    \
  467.         longint    noFlogs,                    /* Clock Flags                */    \
  468.                 displayOnly, isLive;                                        \
  469.         longint = 0;                        /* Minimum                    */    \
  470.         longint = 0;                        /* Maximum                    */    \
  471.         integer    time = 240,                    /* Clock Kind                */    \
  472.                 timeWithSeconds = 241,                                        \
  473.                 date = 242,                                                    \
  474.                 monthAndYear = 243;                                            \
  475.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  476.         byte = 0                            /* Title                    */
  477.             
  478. #define    PP_CmdBevelButtonData                                                \
  479.         PP_BevelButtonData;                                                    \
  480.         longint                                /* Command to send            */
  481.  
  482. #define PP_DisclosureTriangleData                                            \
  483.         PP_PaneData;                                                        \
  484.         longint;                            /* Value Message            */    \
  485.         longint        up, down;                /* Initial Setting            */    \
  486.         longint = 0;                        /* Minimum                    */    \
  487.         longint = 1;                        /* Maximum                    */    \
  488.         integer        faceRight = 64,            /* Up Direction                */    \
  489.                     faceLeft = 65;                                            \
  490.         integer = 0;                        /* Text Traits ID            */    \
  491.         byte = 0                            /* Title                    */
  492.  
  493. #define    PP_EditTextData                                                        \
  494.         PP_PaneData;                                                        \
  495.         longint;                            /* Value Message            */    \
  496.         longint = 0;                        /* Initial Value            */    \
  497.         longint = 0;                        /* Minimum                    */    \
  498.         longint = 0;                        /* Maximum                    */    \
  499.         integer        regular = 272,            /* Kind of EditText            */    \
  500.                     password = 274;                                            \
  501.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  502.         pstring;                            /* Initial Text                */    \
  503.         integer;                            /* Maximum Characters        */    \
  504.         boolean    noBox, hasBox;                /* Box around field?        */    \
  505.         boolean noWordWrap, hasWordWrap;    /* Wrap text to frame?        */    \
  506.         boolean noAutoScroll, hasAutoScroll;/* AutoScroll text            */    \
  507.         boolean noTextBuffering,            /* Text Buffering            */    \
  508.                 hasTextBuffering;            /*   of keyboard input        */    \
  509.         boolean noOutlineHilite,            /* Outline hiliting when    */    \
  510.                 hasOutlineHilite;            /*   inactive                */    \
  511.         boolean noInlineInput,                /* Allow inline input        */    \
  512.                 hasInlineInput;                                                \
  513.         boolean noTextServices,                /* Use Text Services for    */    \
  514.                 hasTextServices;            /*   inputting text            */    \
  515.         bitstring[1] = 0;                    /* Reserved bits            */    \
  516.         byte    noFilter,                    /* Keystroke Filter            */    \
  517.                 integerFilter,                                                \
  518.                 alphaNumericFilter,                                            \
  519.                 printingCharFilter,                                            \
  520.                 negativeIntegerFilter,                                        \
  521.                 printingCharAndCRFilter
  522.  
  523. #define    PP_IconControlData                                                    \
  524.         PP_PaneData;                                                        \
  525.         longint;                            /* Value Message            */    \
  526.         integer = 0;                        /* Filler                    */    \
  527.         integer;                            /* Icon Resource ID            */    \
  528.         longint = 0;                        /* Minimum                    */    \
  529.         longint = 0;                        /* Maximum                    */    \
  530.         bitstring[14] = 80;                    /* Control Kind                */    \
  531.         bitstring[1]    cicn, suite;        /* Icon Type                */    \
  532.         bitstring[1]    hasTracking,        /* Tracking                    */    \
  533.                         noTracking;            /*   has = 0, no = 1        */    \
  534.         integer = 0;                        /* Text Traits ID            */    \
  535.         byte = 0;                            /* Title                    */    \
  536.         integer        none = 0,                /* Icon Alignment            */    \
  537.                     center = 5,                                                \
  538.                     centerTop = 6,                                            \
  539.                     centerBottom = 7,                                        \
  540.                     centerLeft = 9,                                            \
  541.                     topLeft = 10,                                            \
  542.                     bottomLeft = 11,                                        \
  543.                     centerRight = 13,                                        \
  544.                     topRight = 14,                                            \
  545.                     bottomRight = 15
  546.  
  547. #define    PP_ImageWellData                                                    \
  548.         PP_ViewData;                                                        \
  549.         longint;                            /* Value Message            */    \
  550.         integer = 0;                        /* Filler                    */    \
  551.         integer;                            /* Content Resource ID        */    \
  552.         integer = 0;                        /* Filler                    */    \
  553.         integer    iconSuiteResource = 1,        /* Content Type                */    \
  554.                 cicnResource = 2,                                            \
  555.                 pictResource = 3,                                            \
  556.                 iconSuiteHandle = 129,                                        \
  557.                 cicnHandle = 130,                                            \
  558.                 pictHandle = 131,                                            \
  559.                 iconReference = 132;                                        \
  560.         longint = 0;                        /* Maximum                    */    \
  561.         integer = 176;                        /* Control Kind                */    \
  562.         integer = 0;                        /* Text Traits ID            */    \
  563.         byte = 0                            /* Title                    */
  564.  
  565. #define    PP_LittleArrowsData                                                    \
  566.         PP_ControlData;                                                        \
  567.         integer = 96;                        /* Control Kind                */    \
  568.         integer = 0;                        /* Text Traits ID            */    \
  569.         byte = 0                            /* Title                    */
  570.  
  571. #define    PP_PictureControlData                                                \
  572.         PP_ViewData;                                                        \
  573.         longint;                            /* Value Message            */    \
  574.         integer = 0;                        /* Filler                    */    \
  575.         integer;                            /* PICT Resource ID            */    \
  576.         longint = 0;                        /* Minimum                    */    \
  577.         longint = 0;                        /* Maximum                    */    \
  578.         integer        hasTracking = 304,        /* Control Kind                */    \
  579.                     noTracking = 305;                                        \
  580.         integer = 0;                        /* Text Traits ID            */    \
  581.         byte = 0                            /* Title                    */
  582.  
  583. #define    PP_PlacardData                                                        \
  584.         PP_ViewData;                                                        \
  585.         longint = 0;                        /* Message                    */    \
  586.         longint = 0;                        /* Value                    */    \
  587.         longint = 0;                        /* Minimum                    */    \
  588.         longint = 0;                        /* Maximum                    */    \
  589.         integer = 224;                        /* Control Kind                */    \
  590.         integer = 0;                        /* Text Traits ID            */    \
  591.         byte = 0                            /* Title                    */
  592.  
  593. #define    PP_PopupButtonData                                                    \
  594.         PP_PaneData;                                                        \
  595.         longint;                            /* Value Message            */    \
  596.         bitstring[17] = 0;                    /* Filler                    */    \
  597.         boolean    noExtended,    hasExtended;    /* Title Style Options        */    \
  598.         boolean    noCondensed, hasCondensed;                                    \
  599.         boolean    noShadow,    hasShadow;                                        \                                \
  600.         boolean    noOutline,    hasOutline;                                        \
  601.         boolean    noUnderline, hasUnderline;                                    \
  602.         boolean    noItalic,    hasItalic;                                        \
  603.         boolean    noBold,        hasBold;                                        \
  604.         byte    alignLeft = 0,                /* Title Alignment            */    \
  605.                 alignCenter = 1,                                            \
  606.                 alignRight = 255;                                            \
  607.         integer = 0;                        /* Filler                    */    \
  608.         integer    noMenuResource = -12345;    /* MENU Resource ID            */    \
  609.         integer = 0;                        /* Filler                    */    \
  610.         integer    calculateWidth = -1;        /* Title Width                */    \
  611.         bitstring[13] = 50;                    /* Control Kind                */    \
  612.         boolean    noResMenu, hasResMenu;        /* Fill Menu from ResType?    */    \
  613.         boolean = 0;                        /* Filler                    */    \
  614.         boolean    noFixedWidith,                /* Fixed or Variable Width    */    \
  615.                 hasFixedWidth;                                                \
  616.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  617.         pstring;                            /* Title                    */    \
  618.         literal longint;                    /* ResType for Menu Items    */    \
  619.         integer                                /* Initial Item Choice        */
  620.  
  621. #define    PP_PopupGroupBoxData                                                \
  622.         PP_ViewData;                                                        \
  623.         longint;                            /* Value Message            */    \
  624.         bitstring[17] = 0;                    /* Filler                    */    \
  625.         boolean    noExtended,    hasExtended;    /* Title Style Options        */    \
  626.         boolean    noCondensed, hasCondensed;                                    \
  627.         boolean    noShadow,    hasShadow;                                        \                                \
  628.         boolean    noOutline,    hasOutline;                                        \
  629.         boolean    noUnderline, hasUnderline;                                    \
  630.         boolean    noItalic,    hasItalic;                                        \
  631.         boolean    noBold,        hasBold;                                        \
  632.         byte    alignLeft = 0,                /* Title Alignment            */    \
  633.                 alignCenter = 1,                                            \
  634.                 alignRight = 255;                                            \
  635.         integer = 0;                        /* Filler                    */    \
  636.         integer    noMenuResource = -12345;    /* MENU Resource ID            */    \
  637.         integer = 0;                        /* Filler                    */    \
  638.         integer    calculateWidth = -1;        /* Title Width                */    \
  639.         integer    primaryGroup = 162,            /* Group Kind                */    \
  640.                 secondaryGroup = 166;                                        \
  641.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  642.         pstring;                            /* Title                    */    \
  643.         integer                                /* Initial Item Choice        */
  644.  
  645. #define    PP_ProgressBarData                                                    \
  646.         PP_ControlData;                                                        \
  647.         integer = 80;                        /* Control Kind                */    \
  648.         integer = 0;                        /* Text Traits ID            */    \
  649.         byte = 0;                            /* Title                    */    \
  650.         byte    determinate,                /* Bar fills up                */    \
  651.                 indeterminate                /*   Barber Pole            */
  652.  
  653. #define    PP_PushButtonData                                                    \
  654.         PP_PaneData;                                                        \
  655.         longint;                            /* Value Message            */    \
  656.         longint = 0;                        /* Value                    */    \
  657.         longint = 0;                        /* Minimum                    */    \
  658.         integer = 0;                        /* Filler                    */    \
  659.         integer;                            /* cicn ID                    */    \
  660.         integer        textOnly = 368,            /* Control Kind                */    \
  661.                     iconOnLeft = 374,                                        \
  662.                     iconOnRight = 375;                                        \
  663.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  664.         pstring;                            /* Title                    */    \
  665.         byte    notDefault, isDefault        /* Default Button?            */
  666.         
  667. #define    PP_RadioButtonData                                                    \
  668.         PP_PaneData;                                                        \
  669.         longint;                            /* Value Message            */    \
  670.         longint    off, on, mixed;                /* Initial Value            */    \
  671.         longint = 0;                        /* Minimum                    */    \
  672.         longint = 2;                        /* Maximum                    */    \
  673.         integer = 370;                        /* Control Kind                */    \
  674.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  675.         pstring                                /* Title                    */
  676.  
  677. #define    PP_ScrollBarData                                                    \
  678.         PP_ControlData;                                                        \
  679.         integer    regular = 384,                /* Control Kind                */    \
  680.                 liveScrolling = 386;                                        \
  681.         integer = 0;                        /* Text Traits ID            */    \
  682.         byte = 0                            /* Title                    */
  683.  
  684. #define    PP_SeparatorLineData                                                \
  685.         PP_UnusedControlData;                                                \
  686.         integer = 144;                        /* Control Kind                */    \
  687.         integer = 0;                        /* Text Traits ID            */    \
  688.         byte = 0                            /* Title                    */
  689.  
  690. #define    PP_SliderData                                                        \
  691.         PP_ControlData;                                                        \
  692.         bitstring[12] = 3;                    /* Proc ID                    */    \
  693.         boolean    hasDirection,                /* Directional Indicator?    */    \
  694.                 noDirection;                                                \
  695.         boolean    normalDirection,            /* Direction of Indicator    */    \
  696.                 reverseDirection;                                            \
  697.         boolean    noTicks, hasTicks;            /* Has tick marks?            */    \
  698.         boolean    noLiveFeedback,                /* Live Feedback?            */    \
  699.                 hasLiveFeedback;                                            \
  700.         integer                                /* Number of tick marks        */
  701.  
  702. #define    PP_StaticTextData                                                    \
  703.         PP_UnusedControlData;                                                \
  704.         integer = 288;                        /* Control Kind                */    \
  705.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  706.         pstring                                /* Title                    */
  707.  
  708. #define    PP_TabsControlData                                                    \
  709.         PP_ViewData;                                                        \
  710.         longint;                            /* Value Message            */    \
  711.         integer = 0;                        /* Filler                    */    \
  712.         integer;                            /* tab# Resource ID            */    \
  713.         longint = 0;                        /* Minimum                    */    \
  714.         longint = 0;                        /* Maximum                    */    \
  715.         integer    largeTabs = 128,            /* Control Kind                */    \
  716.                 smallTabs = 129;                                            \
  717.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  718.         byte = 0;                            /* Title                    */    \
  719.         integer                                /* Initial Tab Choice        */
  720.  
  721. #define    PP_TextGroupBoxData                                                    \
  722.         PP_ViewData;                                                        \
  723.         longint = 0;                        /* Value Message            */    \
  724.         longint = 0;                        /* Value                    */    \
  725.         longint = 0;                        /* Minimum                    */    \
  726.         longint = 0;                        /* Maximum                    */    \
  727.         integer        primaryGroup = 160,        /* Group Kind                */    \
  728.                     secondaryGroup = 164;                                    \
  729.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  730.         pstring                                /* Title                    */
  731.  
  732. #define    PP_WindowHeaderData                                                    \
  733.         PP_ViewData;                                                        \
  734.         longint = 0;                        /* Value Message            */    \
  735.         longint = 0;                        /* Value                    */    \
  736.         longint = 0;                        /* Minimum                    */    \
  737.         longint = 0;                        /* Maximum                    */    \
  738.         integer        regular = 336,            /* Control Kind                */    \
  739.                     listView = 337;            /*   No bottom line            */    \
  740.         integer = 0;                        /* Text Traits ID            */    \
  741.         byte = 0                            /* Title                    */
  742.                                                         
  743.                                 
  744. #define    Field_IconSize                integer                                    \
  745.         none = 0, mini = 12, small = 16, large = 32
  746.         
  747. #define    Field_IconPosition            integer                                    \
  748.         none, topLeft, topCenter, topRight, rightCenter,                    \
  749.         bottomRight, bottomCenter, bottomLeft, leftCenter, center
  750.  
  751.  
  752. #define    PP_GAIconButtonData                                                    \
  753.         PP_ControlData;                                                        \
  754.         integer    noMode, buttonMode,            /* Control Mode                */    \
  755.                 radioMode, switchMode;                                        \
  756.         integer;                            /* Icon Suite ID            */    \
  757.         Field_IconSize;                        /* Icon Size                */    \
  758.         Field_IconPosition;                    /* Icon Position            */    \
  759.         byte    noHilite, hasHilite;        /* Hilite when pressed        */    \
  760.         byte    noOffset, hasOffset            /* Offset Icon on Hilite    */
  761.         
  762. #define    PP_GACmdIconButtonData                                                \
  763.         PP_GAIconButtonData;                                                \
  764.         longint                                /* Command Number            */
  765.  
  766. #define PP_GACmdTextButtonData                                                \
  767.         PP_StdControlData;                                                    \
  768.         longint                                /* Command Number            */
  769.         
  770. #define    PP_GADisclosureTriangleData                                            \
  771.         PP_ControlData;                                                        \
  772.         byte    facesRight, facesLeft        /* Faces Right or Left?         */
  773.  
  774. #define    PP_GAIconTextButtonData                                                \
  775.         PP_GAIconButtonData;                                                \
  776.         pstring;                            /* Title                    */    \
  777.         integer useSystemFont = 0            /* Text Traits ID            */
  778.         
  779. #define    PP_GACmdIconTextButtonData                                            \
  780.         PP_GAIconTextButtonData;                                            \
  781.         longint                                /* Command Number            */
  782.         
  783. #define    PP_GAIconButtonPopupData                                            \
  784.         PP_GAIconButtonData;                                                \
  785.         integer;                            /* Popup Menu Resource ID    */    \
  786.         integer;                            /* Initial Item                */    \
  787.         integer useSystemFont = 0            /* Text Traits ID            */
  788.         
  789. #define    PP_GAIconSuiteControlData                                            \
  790.         PP_ControlData;                                                        \
  791.         integer    noMode, buttonMode,            /* Control Mode                */    \
  792.                 radioMode, switchMode;                                        \
  793.         integer;                            /* Icon Suite ID            */    \
  794.         Field_IconSize;                        /* Icon Size                */    \
  795.         Field_IconPosition;                    /* Icon Position            */    \
  796.         byte    noHilite, hasHilite;        /* Hilite when pressed?        */    \
  797.         byte    noClickInIcon,                /* Click In Icon?            */    \
  798.                 hasClickInIcon
  799.                 
  800. #define PP_GACmdIconSuiteControlData                                        \
  801.         PP_GAIconSuiteControlData;                                            \
  802.         longint                                /* Command Number            */
  803.         
  804. #define    PP_GAPopupData                                                        \
  805.         PP_PaneData;                                                        \
  806.         longint;                            /* Value Changed Message    */    \
  807.         longint;                            /* Title Position & Style    */    \
  808.         integer = 0;                        /* Filler                    */    \
  809.         integer;                            /* MENU Resource ID            */    \
  810.         integer = 0;                        /* Filler                    */    \
  811.         integer;                            /* Pixel Width of Title        */    \
  812.         integer    defaultPopup = 1008,        /* Default Variation        */    \
  813.                 fixedWidth = 1009,            /* Fixed Width Popup Box    */    \
  814.                 addResource = 1012,            /* Add Items of Res Type    */    \
  815.                 fixedAndResource = 1013;    /* Fixed Width & Resources    */    \
  816.         integer    useSystemFont = 0;            /* Text Traits ID            */    \
  817.         pstring;                            /* Title                    */    \
  818.         literal longint;                    /* ResType for Menu Items    */    \
  819.         integer                                /* Initial Item Choice        */
  820.  
  821. #define    PP_GABoxData                                                        \
  822.         PP_ViewData;                                                        \
  823.         byte;                                /* Filler                    */    \
  824.         pstring;                            /* Title                    */    \
  825.         integer useSystemFont = 0;            /* Text Traits ID            */    \
  826.         byte noBorder, hasBorder;            /* Border?                    */    \
  827.         integer    noBorder,                    /* Border Style                */    \
  828.                 plainBorder,                                                \
  829.                 bezelBorder,                                                \
  830.                 recessedOneBorder,                                            \
  831.                 recessedTwoBorder,                                            \
  832.                 embossedOneBorder,                                            \
  833.                 embossedTwoBorder;                                            \
  834.         integer    none,                        /* Title Position            */    \
  835.                 default,                                                    \
  836.                 topRight,                                                    \
  837.                 topLeftOut,                                                    \
  838.                 topRightOut,                                                \
  839.                 centerTopOut,                                                \
  840.                 centerTop,                                                    \
  841.                 centerInside,                                                \
  842.                 centerTopInside,                                            \
  843.                 centerBottomInside,                                            \
  844.                 centerBottom,                                                \
  845.                 centerBottomOut
  846.  
  847. #define    PP_GAColorSwatchData                                                \
  848.         PP_PaneData;                                                        \
  849.         integer;                            /* RGB Color: Red            */    \
  850.         integer;                            /*               Green            */    \
  851.         integer                                /*              Blue            */
  852.  
  853. #define    PP_GAIconSuiteData                                                    \
  854.         PP_PaneData;                                                        \
  855.         integer;                            /* Icon Suite ID            */    \
  856.         Field_IconSize;                        /* Icon Size                */    \
  857.         Field_IconPosition                    /* Icon Position            */
  858.         
  859. #define    PP_GAPrimaryBoxData                                                    \
  860.         PP_ViewData;                                                        \
  861.         pstring;                            /* Title                    */    \
  862.         integer useSystemFont = 0            /* Text Traits ID            */
  863.  
  864. #define    PP_GAFocusBorderData                                                \
  865.         PP_ViewData;                                                        \
  866.         longint;                            /* Inset SubPane ID            */    \
  867.         longint;                            /* Commander SubPane ID        */    \
  868.         byte    noPaintFace, hasPaintFace;    /* Paint Border Face?        */    \
  869.         byte    noFrameInset, hasFrameInset;/* Frame Inset SubPane?        */    \
  870.         byte    noNotchInset, hasNotchInset;/* Notch Inset Border?        */    \
  871.         byte    noNotchFace, hasNotchFace;    /* Notch Border Face?        */    \
  872.         integer;                            /* Notch Width                */    \
  873.         byte    noCanFocus, hasCanFocus;    /* Can Focus?                */    \
  874.         byte    noCurrentFocus,                /* Is Currently Focused?    */    \
  875.                 hasCurrentFocus
  876.  
  877. #define PP_GALittleArrowsData                                                \
  878.         PP_ControlData;                                                        \
  879.         integer singleClick = 1,            /* Click Action                */    \
  880.                 delayContinuous = 2,                                        \
  881.                 continuous = 3;                                                \
  882.         integer;                            /* Delay for continuous        */    \
  883.         integer                                /* Delay for value change    */
  884.         
  885. #define PP_GATabPanelData                                                    \
  886.         PP_ViewData;                                                        \
  887.         integer useSystemFont = 0;            /* Text Traits ID            */    \
  888.         longint;                            /* Panel Message            */    \
  889.         integer = $$CountOf(Titles);        /* Number of Titles    */            \
  890.         array Titles {                                                        \
  891.             pstring;                        /* Text of Tab Title        */    \
  892.         };                                                                    \
  893.         integer;                            /* Initial selection        */    \
  894.         byte    noPlaceHolder,                /* Want PlaceHolder?        */    \
  895.                 hasPlaceHolder;                                                \
  896.         Field_IconPosition                    /* Pane Alignment            */
  897.         
  898. #define PP_GAWindowHeaderData                                                \
  899.         PP_ViewData;                                                        \
  900.         byte    noAdornment, hasAdornment;    /* Adornment?                */    \
  901.         byte    noDivider, hasDivider        /* Divider at Bottom?        */
  902.         
  903. #define PP_PageControllerData                                                \
  904.         PP_ViewData;                                                        \
  905.         integer;                            /* Text Traits ID            */    \
  906.         longint;                            /* Controller Message        */    \
  907.         integer;                            /* STR# ID                    */    \
  908.         integer;                            /* Initial selection index    */    \
  909.         wide array [3] {                    /* Colors: Background        */    \
  910.                                             /*           Face                */    \
  911.                                             /*           Pushed Text        */    \
  912.             unsigned integer;                /*        RGB: red            */    \
  913.             unsigned integer;                /*             green            */    \
  914.             unsigned integer;                /*             blue            */    \
  915.         };                                                                    \
  916.         byte    noGroupedArrows,            /* Arrows grouped at end    */    \
  917.                 hasGroupedArrows
  918.         
  919. #define    PP_GAColorSwatchControlData                                            \
  920.         PP_UnusedControlData;                                                \
  921.         unsigned integer;                    /* Color:    red                */    \
  922.         unsigned integer;                    /*             green            */    \
  923.         unsigned integer;                    /*             blue            */    \
  924.         pstring                                /* Prompt string            */
  925.         
  926. // ===========================================================================
  927.         
  928. type 'PPob' {                                // PowerPlant Object
  929.     integer = 2;                                // version number
  930.     wide array TagArray {
  931.     
  932.         switch {
  933.         
  934.         case ObjectData:
  935.             key literal longint = 'objd';
  936.             ObjectDataStart:
  937.             longint = (ObjectDataEnd[$$ArrayIndex(TagArray)] - ObjectDataStart[$$ArrayIndex(TagArray)]) / 8 - 4;
  938.             
  939.             switch {
  940.                                                     // Pane Classes
  941.             case AbstractPane:
  942.                 key literal longint = 'pane';
  943.                 PP_PaneData;
  944.  
  945.             case AbstractView:
  946.                 key literal longint = 'view';
  947.                 PP_ViewData;
  948.                 
  949.             case ActiveScroller:
  950.                 key literal longint = 'ascr';
  951.                 PP_ScrollerData;
  952.                 
  953.             case Button:
  954.                 key literal longint = 'butn';
  955.                 PP_ButtonData;
  956.             
  957.             case Caption:
  958.                 key literal longint = 'capt';
  959.                 PP_CaptionData;
  960.                 
  961.             case CicnButton:
  962.                 key literal longint = 'cicn';
  963.                 PP_CicnButtonData;
  964.                 
  965.             case Control:
  966.                 key literal longint = 'cntl';
  967.                 PP_ControlData;
  968.                 
  969.             case DialogBox:
  970.                 key literal longint = 'dlog';
  971.                 PP_DialogBoxData;
  972.                 
  973.             case EditField:
  974.                 key literal longint = 'edit';
  975.                 PP_EditFieldData;
  976.                 
  977.             case GrafPortView:
  978.                 key literal longint = 'gpvw';
  979.                 PP_ViewData;
  980.                 
  981.             case GroupBox:
  982.                 key literal longint = 'gbox';
  983.                 PP_CaptionData;
  984.                 
  985.             case IconPane:
  986.                 key literal longint = 'icnp';
  987.                 PP_IconPaneData;
  988.                 
  989.             case ListBox:
  990.                 key literal longint = 'lbox';
  991.                 PP_ListBoxData;
  992.                 
  993.             case MultiPanelView:
  994.                 key literal longint = 'mpvw';
  995.                 PP_MultiPanelViewData;
  996.                 
  997.             case OffscreenView:
  998.                 key literal longint = 'offv';
  999.                 PP_ViewData;
  1000.                 
  1001.             case OverlappingView:
  1002.                 key literal longint = 'ovlv';
  1003.                 PP_ViewData;
  1004.                 
  1005.             case Picture:
  1006.                 key literal longint = 'pict';
  1007.                 PP_PictureData;
  1008.                 
  1009.             case PlaceHolder:
  1010.                 key literal longint = 'plac';
  1011.                 PP_PlaceHolderData;
  1012.                 
  1013.             case Printout:
  1014.                 key literal longint = 'prnt';
  1015.                 PP_PrintoutData;
  1016.                 
  1017.             case RadioGroupView:
  1018.                 key literal longint = 'rgpv';
  1019.                 PP_ViewData;
  1020.                 
  1021.             case Scroller:
  1022.                 key literal longint = 'scrl';
  1023.                 PP_ScrollerData;
  1024.                 
  1025.             case ScrollerView:
  1026.                 key literal longint = 'sclv';
  1027.                 PP_ScrollerViewData;
  1028.                 
  1029.             case StdButton:
  1030.                 key literal longint = 'pbut';
  1031.                 PP_StdButtonData;
  1032.                 
  1033.             case StdCheckBox:
  1034.                 key literal longint = 'cbox';
  1035.                 PP_StdCheckBoxData;
  1036.                 
  1037.             case StdControl:
  1038.                 key literal longint = 'sctl';
  1039.                 PP_StdControlData;
  1040.                 
  1041.             case StdPopupMenu:
  1042.                 key literal longint = 'popm';
  1043.                 PP_StdPopupMenuData;
  1044.                 
  1045.             case StdRadioButton:
  1046.                 key literal longint = 'rbut';
  1047.                 PP_StdRadioButtonData;
  1048.                 
  1049.             case SubOverlapView:
  1050.                 key literal longint = 'solv';
  1051.                 PP_ViewData;
  1052.                 
  1053.             case Table:
  1054.                 key literal longint = 'tabl';
  1055.                 PP_TableData;
  1056.                 
  1057.             case TableView:
  1058.                 key literal longint = 'tabv';
  1059.                 PP_ViewData;
  1060.                 
  1061.             case TextButton:
  1062.                 key literal longint = 'txbt';
  1063.                 PP_TextButtonData;
  1064.                 
  1065.             case TextEdit:
  1066.                 key literal longint = 'text';
  1067.                 PP_TextEditData;
  1068.                 
  1069.             case TextEditView:
  1070.                 key literal longint = 'txtv';
  1071.                 PP_TextEditViewData;
  1072.                 
  1073.             case ToggleButton:
  1074.                 key literal longint = 'tbut';
  1075.                 PP_ToggleButtonData;
  1076.             
  1077.             case Window:
  1078.                 key literal longint = 'wind';
  1079.                 PP_WindowData;
  1080.                                                     // Support Classes
  1081.             case TabGroup:
  1082.                 key literal longint = 'tabg';
  1083.                 
  1084.             case RadioGroup:
  1085.                 key literal longint = 'radg';
  1086.                 PP_RadioGroupData;
  1087.                                                     // Attachments
  1088.             case Attachment:
  1089.                 key literal longint = 'atch';
  1090.                 PP_AttachmentData;
  1091.                 
  1092.             case BeepAttachment:
  1093.                 key literal longint = 'beep';
  1094.                 PP_AttachmentData;
  1095.                 
  1096.             case EraseAttachment:
  1097.                 key literal longint = 'eras';
  1098.                 PP_AttachmentData;
  1099.                 
  1100.             case ColorEraseAttachment:
  1101.                 key literal longint = 'cers';
  1102.                 PP_ColorEraseAttachmentData;
  1103.                 
  1104.             case BorderAttachment:
  1105.                 key literal longint = 'brda';
  1106.                 PP_BorderAttachmentData;
  1107.                 
  1108.             case PaintAttachment:
  1109.                 key literal longint = 'pnta';
  1110.                 PP_PaintAttachmentData;
  1111.                 
  1112.             case CmdEnablerAttachment:
  1113.                 key literal longint = 'cena';
  1114.                 PP_CmdEnablerAttachmentData;
  1115.                 
  1116.             case KeyScrollAttachment:
  1117.                 key literal longint = 'ksca';
  1118.                 PP_AttachmentData;
  1119.                                                     // Appearance Controls
  1120.             case BevelButton:
  1121.                 key literal longint = 'bbut';
  1122.                 PP_BevelButtonData;
  1123.                 
  1124.             case ChasingArrows:
  1125.                 key literal longint = 'carr';
  1126.                 PP_ChasingArrowsData;
  1127.                 
  1128.             case CheckBox:
  1129.                 key literal longint = 'chbx';
  1130.                 PP_CheckBoxData;
  1131.                 
  1132.             case CheckBoxGroupBox:
  1133.                 key literal longint = 'cbgb';
  1134.                 PP_CheckBoxGroupBoxData;
  1135.                 
  1136.             case Clock:
  1137.                 key literal longint = 'clck';
  1138.                 PP_ClockData;
  1139.                 
  1140.             case CmdBevelButton:
  1141.                 key literal longint = 'cbbt';
  1142.                 PP_CmdBevelButtonData;
  1143.                 
  1144.             case DisclosureTriangle:
  1145.                 key literal longint = 'dtri';
  1146.                 PP_DisclosureTriangleData;
  1147.                 
  1148.             case EditText:
  1149.                 key literal longint = 'etxt';
  1150.                 PP_EditTextData;
  1151.                 
  1152.             case IconControl:
  1153.                 key literal longint = 'ictl';
  1154.                 PP_IconControlData;
  1155.                 
  1156.             case ImageWell:
  1157.                 key literal longint = 'iwel';
  1158.                 PP_ImageWellData;
  1159.                 
  1160.             case LittleArrows:
  1161.                 key literal longint = 'larr';
  1162.                 PP_LittleArrowsData;
  1163.                 
  1164.             case PictureControl:
  1165.                 key literal longint = 'picd';
  1166.                 PP_PictureControlData;
  1167.                 
  1168.             case Placard:
  1169.                 key literal longint = 'plcd';
  1170.                 PP_PlacardData;
  1171.                 
  1172.             case PopupButton:
  1173.                 key literal longint = 'popb';
  1174.                 PP_PopupButtonData;
  1175.                 
  1176.             case PopupGroupBox:
  1177.                 key literal longint = 'pgbx';
  1178.                 PP_PopupGroupBoxData;
  1179.                 
  1180.             case ProgressBar:
  1181.                 key literal longint = 'pbar';
  1182.                 PP_ProgressBarData;
  1183.                 
  1184.             case PushButton:
  1185.                 key literal longint = 'push';
  1186.                 PP_PushButtonData;
  1187.                 
  1188.             case RadioButton:
  1189.                 key literal longint = 'rdbt';
  1190.                 PP_RadioButtonData;
  1191.                 
  1192.             case ScrollBar:
  1193.                 key literal longint = 'sbar';
  1194.                 PP_ScrollBarData;
  1195.                 
  1196.             case SeparatorLine:
  1197.                 key literal longint = 'sepl';
  1198.                 PP_SeparatorLineData;
  1199.                 
  1200.             case Slider:
  1201.                 key literal longint = 'slid';
  1202.                 PP_SliderData;
  1203.                 
  1204.             case StaticText:
  1205.                 key literal longint = 'stxt';
  1206.                 PP_StaticTextData;
  1207.                 
  1208.             case TabsControl:
  1209.                 key literal longint = 'tabs';
  1210.                 PP_TabsControlData;
  1211.                 
  1212.             case TextGroupBox:
  1213.                 key literal longint = 'tgbx';
  1214.                 PP_TextGroupBoxData;
  1215.                 
  1216.             case WindowHeader:
  1217.                 key literal longint = 'winh';
  1218.                 PP_WindowHeaderData;
  1219.                                                     // Grayscale Classes
  1220.             case GACheckBox:
  1221.                 key literal longint = 'gchk';
  1222.                 PP_StdCheckBoxData;
  1223.                 
  1224.             case GAPushButton:
  1225.                 key literal longint = 'gpsh';
  1226.                 PP_StdButtonData;
  1227.                 
  1228.             case GARadioButton:
  1229.                 key literal longint = 'grad';
  1230.                 PP_StdRadioButtonData;
  1231.                 
  1232.             case GAIconButton:
  1233.                 key literal longint = 'gibt';
  1234.                 PP_GAIconButtonData;
  1235.                 
  1236.             case GACmdIconButton:
  1237.                 key literal longint = 'gcib';
  1238.                 PP_GACmdIconButtonData;
  1239.                 
  1240.             case GATextButton:
  1241.                 key literal longint = 'gtxb';
  1242.                 PP_StdControlData;
  1243.                 
  1244.             case GACmdTextButton:
  1245.                 key literal longint = 'gctb';
  1246.                 PP_GACmdTextButtonData;
  1247.                 
  1248.             case GADisclosureTriangle:
  1249.                 key literal longint = 'gdcl';
  1250.                 PP_GADisclosureTriangleData;
  1251.                 
  1252.             case GAIconTextButton:
  1253.                 key literal longint = 'gitb';
  1254.                 PP_GAIconTextButtonData;
  1255.                 
  1256.             case GACmdIconTextButton:
  1257.                 key literal longint = 'gcit';
  1258.                 PP_GACmdIconTextButtonData;
  1259.                 
  1260.             case GAIconButtonPopup:
  1261.                 key literal longint = 'gibp';
  1262.                 PP_GAIconButtonPopupData;
  1263.                 
  1264.             case GAIconSuiteControl:
  1265.                 key literal longint = 'gict';
  1266.                 PP_GAIconSuiteControlData;
  1267.                 
  1268.             case GACmdIconSuiteControl:
  1269.                 key literal longint = 'gcic';
  1270.                 PP_GACmdIconSuiteControlData;
  1271.                 
  1272.             case GAPopup:
  1273.                 key literal longint = 'gpop';
  1274.                 PP_GAPopupData;
  1275.                 
  1276.             case GABox:
  1277.                 key literal longint = 'gabx';
  1278.                 PP_GABoxData;
  1279.                 
  1280.             case GABoxGroup:
  1281.                 key literal longint = 'gbgp';
  1282.                 PP_GABoxData;
  1283.                 
  1284.             case GACaption:
  1285.                 key literal longint = 'gcap';
  1286.                 PP_CaptionData;
  1287.                 
  1288.             case GAColorSwatch:
  1289.                 key literal longint = 'gswt';
  1290.                 PP_GAColorSwatchData;
  1291.                 
  1292.             case GADialogBox:
  1293.                 key literal longint = 'gdlb';
  1294.                 PP_DialogBoxData;
  1295.                 
  1296.             case GAEditField:
  1297.                 key literal longint = 'gedt';
  1298.                 PP_EditFieldData;
  1299.                 
  1300.             case GAIconSuite:
  1301.                 key literal longint = 'gicn';
  1302.                 PP_GAIconSuiteData;
  1303.                 
  1304.             case GAPrimaryBox:
  1305.                 key literal longint = 'gpbx';
  1306.                 PP_GAPrimaryBoxData;
  1307.                 
  1308.             case GAPrimaryGroup:
  1309.                 key literal longint = 'gpgp';
  1310.                 PP_GAPrimaryBoxData;
  1311.                 
  1312.             case GASecondaryBox:
  1313.                 key literal longint = 'gsbx';
  1314.                 PP_GAPrimaryBoxData;
  1315.                 
  1316.             case GASecondaryGroup:
  1317.                 key literal longint = 'gsgp';
  1318.                 PP_GAPrimaryBoxData;
  1319.                 
  1320.             case GASeparator:
  1321.                 key literal longint = 'gsep';
  1322.                 PP_PaneData;
  1323.                 
  1324.             case GAFocusBorder:
  1325.                 key literal longint = 'gfbd';
  1326.                 PP_GAFocusBorderData;
  1327.                 
  1328.             case GALittleArrows:
  1329.                 key literal longint = 'glar';
  1330.                 PP_GALittleArrowsData;
  1331.                 
  1332.             case GATabPanel:
  1333.                 key literal longint = 'gtbp';
  1334.                 PP_GATabPanelData;
  1335.                 
  1336.             case GAWindowHeader:
  1337.                 key literal longint = 'whdr';
  1338.                 PP_GAWindowHeaderData;
  1339.                 
  1340.             case PageController:
  1341.                 key literal longint = 'pctl';
  1342.                 PP_PageControllerData;
  1343.                 
  1344.             case GAColorSwatchControl:
  1345.                 key literal longint = 'cswt';
  1346.                 PP_GAColorSwatchControlData;
  1347.                 
  1348.             case GADialog:
  1349.                 key literal longint = 'gdlg';
  1350.                 PP_DialogBoxData;
  1351.                 
  1352.             case NullObject:
  1353.                 key literal longint = 'null';
  1354.                     
  1355. #ifdef Include_User_Template                // User-defined Object definitions
  1356.     #if defined(mw_rez)
  1357.         #include User_Template_File
  1358.     #else
  1359.         #include $$Shell("User_Template_File")
  1360.     #endif
  1361. #endif
  1362.                             
  1363.             }; // End Object Type Switch
  1364.             ObjectDataEnd:
  1365.             
  1366.         case BeginSubs:                        // Beginning of sub-object list
  1367.             key literal longint = 'begs';
  1368.             
  1369.         case EndSubs:                        // End of sub-object list
  1370.             key literal longint = 'ends';
  1371.             
  1372.         case UserObject:
  1373.             key literal longint = 'user';
  1374.             literal longint;                // Superclass ID for next Object
  1375.             
  1376.         case ClassAlias:
  1377.             key literal longint = 'dopl';
  1378.             literal longint;                // Class ID for next Object
  1379.             
  1380.         case Comment:                        // Data used by PPob editors, ignored by PP
  1381.             key literal longint = 'comm';
  1382.             CommentStart:
  1383.             longint = (CommentEnd[$$ArrayIndex(TagArray)] - CommentStart[$$ArrayIndex(TagArray)]) / 8 - 4;
  1384.             hex string[$$Long(CommentStart[$$ArrayIndex(TagArray)])];
  1385.             CommentEnd:
  1386.             
  1387.         }; // End Tag Switch
  1388.  
  1389.     }; // End TagArray
  1390.     
  1391.     longint = 'end.';                        // End of Tags Marker
  1392.  
  1393. }; // End 'PPob'
  1394.  
  1395. // ===========================================================================
  1396.  
  1397. type 'Mcmd' {                                // Menu Commands
  1398.     integer = $$CountOf(CommandArray);        //    Number of commands
  1399.     wide array CommandArray{
  1400.         longint                                //    Command number
  1401.                 cmd_Nothing=0,    msg_Nothing=0, cmd_UseMenuItem=-1,
  1402.                 cmd_About=1,
  1403.                 cmd_New=2, cmd_Open=3, cmd_Close=4, cmd_Save=5, cmd_SaveAs=6, cmd_SaveCopyAs=18,
  1404.                 cmd_Revert=7, cmd_PageSetup=8, cmd_Print=9, cmd_PrintOne=17, cmd_Quit=10,
  1405.                 
  1406.                 cmd_Undo=11, cmd_Cut=12, cmd_Copy=13, cmd_Paste=14, cmd_Clear=15,
  1407.                 cmd_SelectAll=16, cmd_ShowClipboard=19,
  1408.                 
  1409.                 cmd_FontMenu=250, cmd_SizeMenu=251, cmd_StyleMenu=252,
  1410.                 cmd_FontLarger=301, cmd_FontSmaller=302, cmd_FontOther=303,
  1411.                 cmd_Plain=401, cmd_Bold=402, cmd_Italic=403, cmd_Underline=404,
  1412.                 cmd_Outline=405, cmd_Shadow=406, cmd_Condense=407, cmd_Extend=408,
  1413.                 
  1414.                 cmd_JustifyDefault=411, cmd_JustifyLeft=412, cmd_JustifyCenter=413,
  1415.                 cmd_JustifyRight=414, cmd_JustifyFull=415;
  1416.     };
  1417. };
  1418.  
  1419. // ===========================================================================
  1420.  
  1421. type 'RidL' {                                // Resource ID List (long integers)
  1422.     integer = $$CountOf(ResourceIDList);
  1423.     wide array ResourceIDList {
  1424.         longint;
  1425.     };
  1426. };
  1427.  
  1428. // ===========================================================================
  1429.  
  1430. type 'RID#' {                                // Resource ID List (short integers)
  1431.     integer = $$CountOf(ResIDList);
  1432.     wide array ResIDList {
  1433.         integer;
  1434.     };
  1435. };
  1436.  
  1437. // ===========================================================================
  1438.  
  1439. type 'Txtr' {                                // Text Traits
  1440.     integer        defaultSize = 0;            //    Size
  1441.     integer;                                //    Style
  1442.     integer        flushDefault = 0,            //    Justification
  1443.                 center = 1,
  1444.                 flushRight = -1,
  1445.                 flushLeft = -2;
  1446.     integer                                    //    Transfer mode
  1447.                 srcCopy, srcOr, srcXor, srcBic,
  1448.                 notSrcCopy, notSrcOr, notSrcXor, notSrcBic, 
  1449.                 patCopy, patOr, patXor, patBic,
  1450.                 notPatCopy, notPatOr, notPatXor, notPatBic,
  1451.                 blend = 32, addPin, addOver, subPin, transparent,
  1452.                 adMax, subOver, adMin,
  1453.                 grayishTextOr = 49, hilitetransfermode, ditherCopy = 64;
  1454.     unsigned integer;                        //    Color:    red
  1455.     unsigned integer;                        //            green
  1456.     unsigned integer;                        //            blue
  1457.     integer        useName = -1;                //    Font number
  1458.     pstring;                                //    Font name
  1459. };
  1460.  
  1461.  
  1462. #endif    // __POWERPLANT_R__